title: difference between Enum and enum
body: <p>enum has <code>valueOf(string)</code> method to get enum constant and the same type of method present in <code>java.lang.Enum</code> class having name <code>valueOf(enumClassName, string)</code>
  I found both are giving same output. Then what are other differences. If no difference then why JSL added <code>Enum.valueOf()</code>?</p>
  
  <pre><code>enum Season {
      WINTER,SUMMER
  }
  
  class Test {
      public static void main(String[] args) {
          String season = "WINTER";
  
          //switch (Season.valueOf(colObject))  // following line achieves same thing
          switch (Enum.valueOf(Season.class, season)) // any other difference between both approach
          {
              case WINTER: {
                  System.out.println("Got it in switch case= VENDOR");
                  break;
              }
              default:
                  System.out.println("Fell thru.");
                  break;
              }
      }
  }
  </code></pre>