String to enum using valueOf crashes with java.lang.IllegalArgumentException
<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>