We have a 'Training' category for defects and it is used when there is not time available to fix a defect which can be 'worked around'
Categorising a defect as a 'Training issue' is only ever done with the agreement of the customer.
When software is released to the customer they get a list of unresolved defects (there is never time to fix them all) which includes all the training issues.
These can then be passed on to the customers training department who can train the users to avoid provoking these failures.
The last part is the hard one.
Sometimes errors can fit into more than one defect type. Some defect types are also typical high level errors (say 2 and 3) while some of them are typical coding errors (say 4 and 5).