I2 Localization doesn't constrain the number of categories you have. Categories are just extracted from the term's name (e.g. Tutorial/Title). So, there can be as many categories as terms.
Said that, the Term's list in the Language Source inspector, uses a unity GUI.MaskField which only allows 32bits. That breaks the filtering of terms in that list as soon as you have more than 32 categories.
However, if you filter by "everything", you can still have more than 32 categories. And ALL categories are shown as a popup tree when selecting terms in the Localize inspector. You just wont be able to filter in the Term's list, even thought all of the term will show the correct category tag.
I have a task to fix this issue with the MaskField (i.e. use my own custom Mask selection), but it seems that there is always a feature that takes priority. Now that Plurals are done, and I'm finishing the Extended Input Specialization, I will finally get to those smaller fixes!