enum types are called "enumeration types" not because they are containers that "enumerate" values (which they aren't), but because they are defined by enumerating the possible values for a variable of that type.
(Actually, that's a bit more complicated than that - enum types are considered to have an "underlying" integer type, which means each enum value corresponds to an integer value (this is typically implicit, but can be manually specified). C# was designed in a way so that you could stuff any integer of that type into the enum variable, even if it isn't a "named" value.)
The System.Enum.GetNames method can be used to retrieve an array of strings which are the names of the enum values, as the name suggests.
EDIT: Should have suggested the System.Enum.GetValues method instead. Oops.