Get concrete generic type by Enum - C#