Based on the description of your goals of allowing for future Enum values and/or classes, a simple solution is to use a delegate dictionary keyed on the base Enum type.
Assume a class declaration like this:
Public Class Class1
Public Enum WorkDay
Monday
Tuesday
Wednesday
Thursday
Friday
End Enum
Public Shared Sub Method_Monday()
End Sub
Public Shared Sub Method_Tuesday()
End Sub
Public Shared Sub Method_Wednesday()
End Sub
Public Shared Sub Method_Thursday()
End Sub
Public Shared Sub Method_Friday()
End Sub
End Class
Public Class Class2
Public Enum NotWorkDay
Saturday
Sunday
End Enum
Public Shared Sub Method_Saturday()
End Sub
Public Shared Sub Method_Sunday()
End Sub
End Class
Then class (a WinForm in this case) that uses the above classes, would look something like this:
Public Class Form1
' declare the delegate dictionary
Private WorkMethods As New Dictionary(Of [Enum], Action)
Public Sub New()
InitializeComponent()
SetWorkMethods()
End Sub
Private Sub SetWorkMethods()
'fill the dictionary with the needed actions
WorkMethods.Add(Class1.WorkDay.Monday, New Action(AddressOf Class1.Method_Monday))
WorkMethods.Add(Class1.WorkDay.Tuesday, New Action(AddressOf Class1.Method_Tuesday))
WorkMethods.Add(Class1.WorkDay.Wednesday, New Action(AddressOf Class1.Method_Wednesday))
WorkMethods.Add(Class1.WorkDay.Thursday, New Action(AddressOf Class1.Method_Thursday))
WorkMethods.Add(Class1.WorkDay.Friday, New Action(AddressOf Class1.Method_Friday))
WorkMethods.Add(Class2.NotWorkDay.Saturday, New Action(AddressOf Class2.Method_Saturday))
WorkMethods.Add(Class2.NotWorkDay.Sunday, New Action(AddressOf Class2.Method_Sunday))
End Sub
' a helper method to retrieve and execute the action
Private Sub DoWork(day As [Enum])
Dim actionToPerform As Action = Nothing
If WorkMethods.TryGetValue(day, actionToPerform) Then
If actionToPerform IsNot Nothing Then actionToPerform()
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DoWork(Class1.WorkDay.Wednesday)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
DoWork(Class2.NotWorkDay.Saturday)
End Sub
End Class
Such usage gives you a lot of flexibility to configure the methods called with out needing to rewrite a Select-Case block when changes are needed. You just add/delete items in the dictionary.