title: ASP.NET Core modelbinding pickups up default enum value in case when the enum item is not available
body: <p>I have an ASP.NET Core 3.1 Web API project. There is an enum with the following details:</p>
  <pre><code>public enum TestPageType
  {
      Item1,
      Item2,
      Item3,
      Item4
  }
  
  [HttpGet(&quot;{type}/{mode}&quot;)]
  [ProducesResponseType(400)]
  [ProducesResponseType(500)]
  public IEnumerable&lt;ControlInfo&gt; GetControlData(TestPageType type, string mode)
  {
      switch (type)
      {
          case TestPageType.Item1:
          case TestPageType.Item2:
          case TestPageType.Item3:
          case TestPageType.Item4:
          default:
              return _testService.GetData(GetControlType(type), 0, readonlyMode);
      }
  }
  </code></pre>
  <p>From the client application, <code>Item5</code> is sent as input to the API endpoint:</p>
  <pre><code>https://localhost:8080/api/test/GetControlData/item5/edit
  </code></pre>
  <p>In this on debugging I see that first item from the TestPageType enum : Item1 is picked.</p>
  <p>Can anyone help me to resolve this issue?</p>