using Auflistung von Zeichenfolgen in einer switch-Anweisung

Ich versuche eine Lösung für dieses Problem zu finden. Dies ist mein Beispielcode:

class Program
{
  private string Command;

  private static string[] Commands = { "ComandOne", "CommandTwo", "CommandThree", "CommandFour" };


  static void Main(string[] args)
  {
    Command = args[0];
    switch(Command)
    {
      case Commands[0]: //do something 
        break;
      case Commands[1]: //do something else
        break;
      case Commands[2]: //do something totally different
        break;
      case Commands[3]: //do something boring
        break;
      default: //do your default stuff
        break;
    }
  }

  void DifferentMethod()
  {
    foreach(string c in Commands)
    {
      //do something funny
    }
  }
}

Dieser Code funktioniert nicht, da die Zeichenfolgenwerte in der Option keine Konstanten sind. Ich möchte einfach zu wartenden Code schreiben.
Ich verwende gerne so etwas wie ein Array, weil ich die gleichen Werte an einer anderen Stelle in einer Schleife verwenden muss.
Mit int-Werten wäre eine Aufzählung perfekt, aber ich habe keine kleine Lösung für das Gleiche mit Strings gefunden.