title: C# enum as generic
body: <p>Cheers!
  I had a two enums, describing my entityes: Players and guns types:</p>
  
  <pre><code>public enum PlayersType {
      Scout,
      Tank
  }
  
  public enum GunsType {
      Machinegun,
      Tesla
  }
  </code></pre>
  
  <p>I had a generic a struct generic class, and 2 realizations of it:</p>
  
  <pre><code>public class EntityType&lt;T&gt; where T: struct, IConvertible {
      public GameObjectType ObjectType;
  }
  
  public class PlayerEntity: EntityType&lt;PlayersType&gt; { }
  
  public class TowerEntity: EntityType&lt;GunsType&gt; { }
  </code></pre>
  
  <p>And i want to create class, who has EntityType field and inherite ScriptableObject class.</p>
  
  <p>I did this:</p>
  
  <pre><code>public class ObjectTypeConfig: ScriptableObject
  {
      public EntityType&lt;Enum&gt; EntityType;
  }
  </code></pre>
  
  <p>But its return error: </p>
  
  <blockquote>
    <p>The type 'System.Enum' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method.</p>
  </blockquote>
  
  <p>Does anyone know how can i create necessary field? 
  As a result i'm want to create Class, who will be has a Array of ObjectTypeConfigs, containing Players and Towers Entitiyes.</p>