At this point, just go with what you have.
IF you start seeing a lot of overlap in both data and behavior (instance methods) or if you find yourself always wanting to access categories and sub categories together you could start looking at:
- Self joins - which would let you keep both categories in the same table and as the same type of model
- Ancestory - additional flexibility for a full-on tree structure of data