Не очень понятно, что хотят сделать ?
Перечисление хранится как строка из 9 символов - 6 символов - это внутренний идентификатор элемента перечисления, присвоенный при создании элемента, переведённый в 36-ричную систему, ну и три пробела в конце (непонятно зачем).
ПРичем ТекЗначениеКС разное при обработки разных строк документа. Я не пойму может это отдельная переписанная функция?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший