title: Json.NET StringEnumConverter not always working
body: <p>I have an enum:</p>
  
  <pre><code>public enum FilterOperator
      {
          [EnumMember(Value = "eq")]
          Equals,
          [EnumMember(Value = "gt")]
          GreaterThan,
          [EnumMember(Value = "lt")]
          LessThan,
          [EnumMember(Value = "in")]
          In,
          [EnumMember(Value = "like")]
          Like
      }
  </code></pre>
  
  <p>and a class that includes an enum property:</p>
  
  <pre><code>public class GridFilter
  {
      [JsonProperty("operator")]
      [JsonConverter(typeof(StringEnumConverter))]
      public FilterOperator Operator { get; set; }
  }
  </code></pre>
  
  <p>The object is passed in via a WebAPI action and deserializes as expected for "like" and "in" but it doesn't for "lg" or "gt". Any idea why?</p>
  
  <p><strong>UPDATE: Well the reason "like" and "in" work is that they match the enum name. Renaming GreaterThan to Gt (etc) works. So the real issue is why isn't StringEnumConverter being used?</strong></p>