Tradutor de número de telefone c # Alpha

Tenho uma tarefa de casa em que o programa aceita qualquer número de telefone no formato semelhante ao 555-GET-FOOD. A tarefa é mapear as letras alfabéticas para números e converter o número em seu equivalente numérico.
Por exemplo: A, B, C = 2; D, E, F = 3; etc ...

Nós não cobrimos Classes ou criamos mapas neste momento, portanto, essas não seriam soluções viáveis. Este capítulo aborda a enumeração, por isso estou trabalhando para resolver usando um tipo enumerado. Eu tenho um método configurado para validar os dados (verifique se o número correto de caracteres e os hífens estão no lugar correto) e isso funciona corretamente. Eu tenho outro método configurado para remover os hífens e também usa o método ToUpper () e isso também funciona corretamente, portanto, o loop foreach que eu configurei usando o número após a conclusão desses dois métodos.

Também configurei um método para executar após a conversão para adicionar os hífens novamente e isso também funciona.

Eu tentei várias maneiras de conseguir é trabalhar e os deixei comentando sobre a chance de que eles possam ser o que eu preciso usar; para minha tentativa com a instrução switch, apenas configurei com a letra A por enquanto e planejo terminar as letras restantes, se eu conseguir fazer isso funcionar. Eu acho que o que meus problemas são o loop foreach está usando um tipo de char e o switch está usando um int. Parece ser o mesmo problema ao tentar o código dentro do loop foreach, mas não tenho certeza de como corrigir, para que todas as sugestões sejam apreciadas.

public enum AlphaNumber
{ 
    A=2, B=2, C=2, D=3, E=3, F=3, G=4, H=4, I=4, J=5, K=5, L=5, 
    M=6, N=6, O=6, P=7, Q=7, R=7, S=8, T=8, U=8, V=9, W=9, X=9, Y=9, Z=9
}
 private void UpdatePhone(AlphaNumber phone)
    {
        switch (phone)
        {
            case AlphaNumber.A:
           //return AlphaNumber.(int[])Enum.GetValues(typeof(AlphaNumber));
           //return (Enum.GetValues(typeof(AlphaNumber)));
           //   (int)ValueType;
                Enum.GetValues(typeof(AlphaNumber));
                break;                   
        }
private void translateButton_Click(object sender, EventArgs e)
    {
        numberLabel.Text = "";//Clear the numberLabel
        //Get a trimmed copy of the user's input.  
        string input = numberTextBox.Text.Trim();

        if (IsValidFormat(input))
        {
            Unformat(ref input);

            foreach (char ch in input)
            {
                if (char.IsLetter(ch))//                    {
                    ch = (char)Enums.AlphaNumber.Active;
                    //ch = (char)Enum.GetValues(typeof(AlphaNumber));
                    //ch = Enum.TryParse(AlphaNumber);
                   // ch = AlphaNumber.(int[])Enum.GetValues(typeof(AlphaNumber));
                    //UpdatePhone(ch);
                   MessageBox.Show("Character is char");                    }
            }

            TelephoneFormat(ref input);    
            numberLabel.Text = input;

Estou aberto a sugestões e agradecemos qualquer ajuda fornecida. Onde eu preciso de ajuda está dentro do loop foreach, estou analisando cada valor e, se for uma letra, quero obter o valor dos valores enum e substituir o caracter pelo valor numérico.

questionAnswers(5)

yourAnswerToTheQuestion