Hi Florian,
I am not sure I understood exactly what you mean by defining categories via field. Is this what you imagine: A menu with various tiddler types, when clicking the button for "Quote", you create a quote tiddler with predefined fields and content?
Here is a suggestion: (1) Make template tiddlers with title starting with "$:/template", for example $:/template/quote. To these template tiddlers, (2) add fields contents, and (3) a field called tiddlertype with the name of the template, eg. tiddlertype: Quote
Now, (4) add this to a separte tiddler:
\define tiddlername() {{!!tiddlertype}}: <<now "YYYY-0MM-0DD 0hh:0mm:0ss" >>
<$list filter="[prefix[$:/template]]">
<$button>
<$wikify name=newtiddlername text=<<tiddlername>> >
<$action-createtiddler $basetitle=<<newtiddlername>> $template=<<currentTiddler>> />
<$action-navigate $to=<<newtiddlername>> />
<$action-sendmessage $message="tm-edit-tiddler" $param=<<newtiddlername>>/>
</$wikify>
Create {{!!tiddlertype}} Tiddler
</$button>
</$list>
This code will generate a button for each of you templates. When you click the button, a new tiddler is created from the corresponding template and opened in edit mode. The new tiddler will get a title like "Quote: 2021-03-30 14:30:00" and have the fields and contents of $:/template/quote
Best,
Anders