title: Enums with an underlying type of Byte fails in a switch
body: <p>According to <a href="https://msdn.microsoft.com/en-us/library/sbbt4032.aspx" rel="nofollow noreferrer" title="enum (C# Reference)">MSDN</a></p>
  <blockquote>
  <p>To declare an enum of another integral type, such as byte, use a colon after the identifier followed by the type, as shown in the following example.</p>
  <p><code>enum Days : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};</code></p>
  </blockquote>
  <p>However, in my .NET 4.6 code</p>
  <pre><code>public enum MessageIdentifier : byte
  {
      LaserRange = 0x50,
  };
  
  // ...more code
  
  private void ParseMessage(byte[] fullPacket)
  {
      switch (fullPacket[3])
      {
          case MessageIdentifier.LaserRange:
              // some wonderful code
              break;
      }
  }
  </code></pre>
  <p>This doesn't compile.<br />
  <strong>&quot;Cannot convert expression of type 'MessageIdentifier' to type 'byte'.</strong></p>
  <p>What's up? What am I doing wrong?</p>