Reformat the menu-spec data so we can use it in a more useful way

It also allows us to ref the subcat and remove a minor WTF in the code.