Per comparare gli enum con le string il metodo corretto è usare Enum.Parse rispetto a comparare le stringhe.
In questo esempio supponiamo di avere una stringa messageId ed un enumerator MessageType:
MessageType messageType = (MessageType)System.Enum.Parse(typeof(MessageType),messageId,true);
L'ultimo argomento dy System.Enum.Parse specifica se il confronto deve essere case sensitive o meno.