Dimyan, тут некоторые нюансы имеются...
Изначально вопрос был поставлен так:
Можно ли и если можно то как создать символьное перечесление (enum)? 
Четкий и однозначный ответ на это дает MSDN: тип 
char не может быть использован в качестве базового для 
enum. И это факт, с которым не поспоришь.
Почему же код, приведенный тобой, компилируется без ошибок и работает, нет ли тут противоречия с MSDN? Выяснить это очень просто. Достаточно выполнить маленький фрагмент кода:
...
MyEnum n;
n = MyEnum.cbA;
Console.WriteLine(n.GetType().Name);
Console.WriteLine(n.GetTypeCode().ToString());
...
Видим на экране результат его выполнения:
Первая строка - это имя типа переменной 
n. Как и ожидалось, это 
MyEnum.
Вторая строка - это имя типа, на котором базируется переменная 
n, а именно - 
Int32, а никак не 
Char. Так что вместо 
символьного перечисления получилось 
целочисленное, отсюда и необходимость в дальнейшем явного преобразования в 
char.
Может немного запутать то, что конструкция вроде
 работает без ошибок. Но и это неудивительно, поскольку 
cbA базируется на типе 
Int32, к которому тип 
char приводится неявно (выше я приводил цитату из MSDN).
Итак, резюме: ответ на поставленный вопрос - отрицательный: нет, 
символьное перечисление создать нельзя. Но можно взамен создать 
целочисленное перечисление, задать ему значения кодов нужных символов, а в процессе работы приводить коды в символьный тип посредством явного задания 
(char).