public static void Main()
var enumType = typeof (Foo<>.Bar);
var underlyingType = Enum.GetUnderlyingType(enumType);
Console.WriteLine(enumType.IsEnum);
foreach (var value in Enum.GetValues(enumType))
Console.WriteLine("{0} = {1}", value, Convert.ChangeType(value,underlyingType));