QuickfixJ is the way to go. This will give you flexibility to parse any FIX message and will support messages with repeating groups. If you're set on just using Java to parse the FIX, bear in mind it's hard to parse messages that might contain repeating groups.
You just need to extend QuickfixJ's MessageCracker class.
http://www.quickfixj.org/quickfixj/usermanual/1.5.3/usage/receiving_messages.html