If you read the specifications for the various email protocols, you'll soon discover that email, at the protocol level, is at its most feature-rich akin to flat files stored in a hierarchy of folders.
Tags, sorting, etc. are all the responsibility of clients. (Which is as it should be, since sorting is part of viewing data, not storing or sending it. Regarding tags, I suppose you could roll out a new email protocol, but SMTP is nothing more than a few text commands to send and receive bytes, and any tagging would be done by the client alone or the server alone as a value-add. The feature itself could not be implemented via, for example, the SMTP spec.
When you send an email via SMTP, you send the server "MAIL FROM" plus sender's address, RCPT TO plus destination, DATA and the contents of the email, and then a dot to represent the end of the email.
The email is then immutable. The receiver would be the one who wants to tag an email, and since the email is immutable, there's nothing you can do. And even if the sender wants to tag it, there's no command. I suppose in theory you could just add the tags to the email body, but every recipient not using your "improved" email format would just see that in the body of the email