include ‘wp_enqueue_scripts’ (CSS) to multiple templates

Page template seems like a more obscure thing to base the loading of your CSS on. Maybe not use template name, and use page name instead as it’s more apparent to theme users. If interested you could try something more like this:

add_action('wp_enqueue_scripts', 'load_special_page_styles');
function load_special_page_styles() {
    global $post;

    if( is_page() ) {

        switch( $post->post_name ) { // post_name is actually the page slug            
            case 'a-page': // if page slug is equal to 'a-page'...              
            case 'b-page':
            case 'c-page':
            case 'd-page':
            case 'e-page':
                wp_enqueue_style( 'css-flags', get_stylesheet_directory_uri() . '/css/flags.min.css', array(), '1.0.0', 'all' ); // Note slight differences in use of wp_enqueue_style here
                wp_enqueue_script( 'js-flags', get_template_directory_uri() . '/js/flags.min.js', array('jquery'), '1.0.0', true ); // helpful param #2 loads jquery if not already loaded, and param #4 loads the flags.min.js script in the footer, after page content loads
                break;
        }
    } 
}