enum and message fields parsing