Search notes:

System.Enum (class)

System.Enum is the base class for enumerations. It derives from System.ValueType.
An enumeration is a named set of named constants whose type is typically an integral type, by default System.Int32.
With reflection, it is possible to create enums with values whose base type are not integral types or chars, but this is stronly discouraged.
When using the System.FlagsAttribute on the enum, the enum stores a set of bit-field-values.

Iterating over enumeration values in PowerShell

System.Enum has the static method GetValues() that returns an array of the values of a given enumeration.
The following snippets try to demonstrate how it is possible to iterate over such an array and display the values (integer and string) in PowerShell:
PS C:\> $enumValues = [System.Enum]::GetValues('System.Environment+SpecialFolder')
PS C:\> $enumValues.GetType().FullName
System.Environment+SpecialFolder[]
PS C:\> $enumValues.length
47
PS C:\> $enumValues[0].GetType().FullName
System.Environment+SpecialFolder
PS C:\> $enumValues[42].value__
55
PS C:\> $enumValues[42].ToString()
CommonVideos
$enumValues | foreach-object  {
  '{0,2} {1,-30} {2}' -f $_.value__, $_.ToString(), [Environment]::GetFolderPath($_)
}
 0 Desktop                        C:\Users\Rene\Desktop
 2 Programs                       C:\Users\Rene\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
 5 MyDocuments                    C:\Users\Rene\Documents

See also

PowerShell:
Determining VBA (not .NET) enum values with Microsoft.Office.Interop.…

Index