Tokens with additional info e.g. with classes

What options do I have for a token on cardano that has different types or flavours
It would be:

  1. Classified into types/classes/flavours
  2. Tokens of each type are easily transferable between parties
  3. Each type can easily be split into arbitrary units
  4. Conversion between types is not possible

The easiest option I could think of for something like this would be to create multiple tokens and handle their minting and burning individually. This however would be suboptimal and would pollute namespaces for tokens.
Another option would be to implement this fully in smart contracts but I am trying to avoid that too

Use case : suppose an interaction with a smart contract yields a certain combination of custom tokens ( token classes ) which essentially function fully as tokens without being interconvertible.