enum generation now using Enum.GetNames which is safer