 <p>A <code>List&lt;Enum&gt;</code> is not a <code>List&lt;Locations&gt;</code> nor a <code>List&lt;Int32&gt;</code>. Use a generic method to handle the list:</p> <pre><code> public static void PackEnumList&lt;T&gt;(IEnumerable&lt;T&gt; list) where T : IConvertible { foreach (var value in list) int numeric = value.ToInt32(); // etc. } </code></pre>