I don't have much experience trying to parse maya binary files, and cgkit doesn't give any indication really of how to handle the groups and chunks beyond it just giving them to you in the callbacks... But a quick google search turned up this mayatools python package:
Pretty easy to grab and install. And it seemed to easily hand you the chunk and data objects in at least a meaningful way for dealing with the fileinfo portion.
>>> from mayatools.binary import Parser
>>> f = open("sphere.mb")
>>> p = Parser(f)
>>> p.parse_all()
>>> p.pprint()
# Maya group (FOR4); 64336 bytes for 31 children:
# HEAD group (FOR4); 344 bytes for 16 children:
# VERS; 4 bytes as string(s)
# 0020: 32303133 '2013'
# ... snip ...
# Produces a huge dump of the file structure,
# indicating that the tag we are interested in
# is the first group, called "HEAD"
>>> head = p.find_one('HEAD')
>>> head.pprint()
# HEAD group (FOR4); 344 bytes for 16 children:
# VERS; 4 bytes as string(s)
# 0020: 32303133 '2013'
# UVER; 5 bytes as string(s)
# 002c: 756e6465 66 'undef'
# Then just deal with the child chunks?
>>> head.children
>>> head.find(...)
Not sure if that was what you are after.