Just generate a giant switch from all your classes ordered by most likely frequent messages, or a combination of that and a map based design. How many messages are you expecting to parse?