title: Deserializing an enum with Jackson
body: <p>I'm trying and failing to deserialize an enum with Jackson 2.5.4, and I don't quite see my case out there. My input strings are camel case, and I want to simply map to standard Enum conventions.</p>
  
  <pre><code>@JsonFormat(shape = JsonFormat.Shape.STRING)
  public enum Status {
      READY("ready"),
      NOT_READY("notReady"),
      NOT_READY_AT_ALL("notReadyAtAll");
  
      private static Map&lt;String, Status&gt; FORMAT_MAP = Stream
              .of(Status.values())
              .collect(toMap(s -&gt; s.formatted, Function.&lt;Status&gt;identity()));
  
      private final String formatted;
  
      Status(String formatted) {
          this.formatted = formatted;
      }
  
      @JsonCreator
      public Status fromString(String string) {
          Status status = FORMAT_MAP.get(string);
          if (status == null) {
              throw new IllegalArgumentException(string + " has no corresponding value");
          }
          return status;
      }
  }
  </code></pre>
  
  <p>I've also tried <code>@JsonValue</code> on a getter to no avail, which was an option I saw reported elsewhere. They all blow up with: </p>
  
  <pre><code>com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of ...Status from String value 'ready': value not one of declared Enum instance names: ...
  </code></pre>
  
  <p>What am I doing wrong?</p>