It’s possible to add tags to projects through the web interface, but in a CI environment, you would want to set the tags for a project through the sonar-scanner.
The parameter on the scanner should accept a comma separated string where each item would represent a tag;
If a tag exist on the project, but not in the list supplied by the scanner, it should be removed from the project. This rule should toggled on/off through the global settings in SonarQube;
Ideally, it would be done using
/d:sonar.project.tags="tag1, tag2, tagN" or
/d:sonar.tags="tag1, tag2, tagN"