El Enum.Parse método:
Convierte la representación de cadena de el nombre o el valor numérico de uno o constantes más enumerados a un objeto enumerado equivalente . Un parámetro especifica si la operación distingue entre mayúsculas y minúsculas.
Aquí está el código VB.NET ejemplo de MSDN:
Module Example
Public Sub Main()
Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
For Each colorString As String In colorStrings
Try
Dim colorValue As Colors = CType([Enum].Parse(GetType(Colors), colorString, True), Colors)
If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then
Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
Else
Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)
End If
Catch e As ArgumentException
Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
End Try
Next
End Sub
End Module
por cierto, si siempre desea la enumeración comenzar con valor 0 (cero) no es necesario decirlo, simplemente BCD es suficiente – balexandre
No lo sabía, gracias por la sugerencia. – Middletone