Order WP_Query results in order other than ASC or DESC

Your best option is to use a taxonomy.

If EN, DE and FR are terms then you then loop through them and get the pages on a per term basis.

You can do this in conjunction with a plugin that enables you to manually re-order terms such as this one.

https://wordpress.org/plugins/i-order-terms/

You can then do something like this with your code:

// Get all of the terms in the taxonomy
$countries = get_terms( 'countries' );

// Check to ensure there are results returned
if ( !empty( $countries ) && !is_wp_error( $countries ) ) {

    // Loop through the countries
    foreach($countries as $country) {

        $args = array(
            'post_status' => 'publish',
            'post_type' => 'page',
            'countries' => $country->slug,
        )

        // Get all of the pages that have this term
        $country_pages = new WP_Query($args);

        // If there are results then print out the country's title and then a list of pages for that country.
        if($country_pages->have_posts()) : ?>

            <h2><?php echo $country->name; ?></h2>

            <ul>

                <?php 
                while($country_pages->have_posts()) : $country_pages->the_post(); ?>

                    <li><?php the_title() ?></li>

                <?php endwhile; 
                // Ensure that the main query is reset
                wp_reset_postdata(); ?>

            </ul>

        <?php 
        endif; 

    }
}