added EnumExtensions & renamed .AsEnum<T>() to .AsEnums<T>()