Enumをコンボボックスに設定

「Enumに属性で日本語表示を付加」を前提として

    Private Sub EnumToComboBox(ByVal enumType As Type, ByRef cmb As ComboBox)
        Dim defineTable As DataTable = New DataTable()
        defineTable.Columns.Add("display", GetType(String))
        defineTable.Columns.Add("value", enumType)

        For Each enumName As String In [Enum].GetNames(enumType)
            Dim row As DataRow = defineTable.NewRow()
            row("display") = EnumJpAttribute.ToStringJp([Enum].Parse(enumType, enumName))
            row("value") = [Enum].Parse(enumType, enumName)
            defineTable.Rows.Add(row)
        Next
        defineTable.AcceptChanges()

        cmb.DataSource = defineTable
        cmb.DisplayMember = "display"
        cmb.ValueMember = "value"
        cmb.DropDownStyle = ComboBoxStyle.DropDownList  'ユーザーのテキスト編集を許可しない
    End Sub

Enumに属性で日本語表示を付加

'属性クラス
<AttributeUsage(AttributeTargets.Field, AllowMultiple:=False, Inherited:=False)> _
Public Class EnumJpAttribute
    Inherits Attribute

    Private _literal As String

    Public Sub New(ByVal literal As String)
        _literal = literal
    End Sub

    Public Shared Function ToStringJp(ByVal value As Object) As String
        Dim enumType As Type = value.GetType()
        Dim enumName As String = [Enum].GetName(enumType, value)
        Dim fi As FieldInfo = enumType.GetField(enumName)
        Dim attrs As EnumJpAttribute() = DirectCast( _
          fi.GetCustomAttributes(GetType(EnumJpAttribute), False), EnumJpAttribute())
        Return attrs(0)._literal
    End Function
End Class

'Enum定義
Public Enum SexType As Integer
    <EnumJpAttribute("男性")> _
    Male
    <EnumJpAttribute("女性")> _
    Female
End Enum

'使用する側
EnumJpAttribute.ToStringJp(SexType.Male)