title: String to enum using valueOf crashes with java.lang.IllegalArgumentException
body: <p>I have an enum with String defined as below</p>
  
  <pre><code>public enum MyEnumType {
      PRIMARY("primary"),
      SECONDARY("secondary");
  
      private final String myEnumType;
  
      MyEnumType(String myEnumType) {
          this.myEnumType = myEnumType;
      }
  
      public boolean equalsType(String myOtherEnumType) {
          return myOtherEnumType != null &amp;&amp; myEnumType.equals(myOtherEnumType);
      }
  
      @Override
      public String toString() {
          return this.myEnumType;
      }
  }
  </code></pre>
  
  <p>When I defined my enum with a string below</p>
  
  <pre><code>MyEnumType myEnumType = MyEnumType.valueOf("primary");
  </code></pre>
  
  <p>It crashes</p>
  
  <pre><code>Exception in thread "main" java.lang.IllegalArgumentException: No enum constant HelloWorld.MyEnumType.primary
      at java.lang.Enum.valueOf(Enum.java:238)
      at HelloWorld$MyEnumType.valueOf(HelloWorld.java:11)
      at HelloWorld.main(HelloWorld.java:36)
  </code></pre>
  
  <p>Did I miss anything?</p>