If you have an enum in your application and you only have a few items, should you force the underlying type to be the smallest possible type?
enum smalle
In .Net core, if you call Enum.IsDefined to check if the passing in value existed in an enum, you should ensure types are the same.
ArgumentException: Enum underlying type and the object must be same type or object must be a String.