@obi is right: you cannot do it directly right now.
You can simulate it manually, e.g., by creating one account per asset and storing description/name/… in the account local storage. The account would need to be rekeyed to the application account using the same ideas as in [NFT marketplace] general smart contract architecture question - #2 by fabrice (second bullet point)
Future developments of AVM may make this easier.
If you have less than 60 or so assets and if you can make decription/name/… fit 127 bytes, you can also just directly use the global storage.
You can use the ABI serialization format to store tuples of values such as (description,name,…):