title: Switch on Enum throws IllegalArgumentException
body: <p>This is my code:</p>
  
  <pre><code>public static String getLocalLanguage() {
      switch(Lang.valueOf(Locale.getDefault().getCountry().toLowerCase())) {
          case it:
          case de:
          case fr:
          case en:
          case pr:
          case sp:
              return Locale.getDefault().getCountry().toLowerCase();
          default:
              return "it";
      }
  }
  </code></pre>
  
  <p>Lang is a enum type</p>
  
  <pre><code>public enum Lang {
      it,en,sp,fr,de,pr
  }
  </code></pre>
  
  <p>Of course my code will throw an Exeception because if I call getLocalLanguage and Locale.getDefault returns some Enum Lang that doesn't exist (e.g. gb) will raise exeception..</p>
  
  <p>So how can I fix this?<br/>
  My target is to return just "it","de","fr","en","pr","sp" and if localLanguage is something else I want to return "it"..<br/>
  Could you guys help me to achieve this?</p>