C # Garantir Valores Enum Válidos - Método à Prova de Futuro

Eu estou escrevendo algum código com uma simples declaração switch baseada em valores Enum. Ocorreu-me que em algum momento no futuro um desenvolvedor pode adicionar um novo valor, então incluí um método padrão para capturar isso em tempo de execução e lançar uma exceção. No entanto, percebi que deveria fazer isso toda vez que colocasse lógica desse jeito, e que só veria esses problemas em tempo de execução, em vez de compilar o tempo.
Eu estou me perguntando se há algum código que eu possa adicionar para obter o compilador para dizer ao desenvolvedor que eles precisam atualizar certos métodos no caso em que eles atualizem valores enum - além de apenas adicionar comentários ao próprio enum?

por exemplo. (o exemplo abaixo é puramente teórico; escolhi status do ciclo de vida de desenvolvimento para garantir que seja algo familiar para a maioria).

public enum DevelopmentStatusEnum
{
    Development
    //, QA //this may be added at some point in the future (or any other status could be)
    , SIT
    , UAT
    , Production
}

    public class Example
    {
        public void ExampleMethod(DevelopmentStatusEnum status)
        {
            switch (status)
            {
                case DevelopmentStatusEnum.Development: DoSomething(); break;
                case DevelopmentStatusEnum.SIT: DoSomething(); break;
                case DevelopmentStatusEnum.UAT: DoSomething(); break;
                case DevelopmentStatusEnum.Production: DoSomething(); break;
                default: throw new StupidProgrammerException(); //I'd like the compiler to ensure that this line never runs, even if a programmer edits the values available to the enum, alerting the program to add a new case statement for the new enum value
            }
        }
        public void DoSomething() { }
    }
    public class StupidProgrammerException: InvalidOperationException { }

Isso é um pouco acadêmico, mas posso ver isso como sendo útil para tornar meu aplicativo robusto. Alguém já tentou isso antes / tem alguma boa idéia de como isso pode ser alcançado?

Desde já, obrigado,

JB

questionAnswers(4)

yourAnswerToTheQuestion