usando coleção de strings em uma instrução switch

Estou tentando encontrar uma solução para esse problema. Este é o meu código de exemplo:

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
    }
  }
}

Esse código não funciona porque os valores da string no comutador não são constantes. Eu quero escrever um código fácil de manter.
Eu gosto de usar algo como uma matriz, porque eu preciso usar os mesmos valores em outro lugar em um loop.
Com valores int, um enum seria perfeito, mas não encontrei uma solução pequena para a mesma coisa com strings.

questionAnswers(9)

yourAnswerToTheQuestion