I’m not sure all this is needed, as already mentioned above you “can” use “Tag Groups” to restrict what tags can appear i.e. only one tag from the group ["new", "planned", "dev", "test", "released"].
Visit /tag_groups after enabling the tagging enabled site setting (disabled as default) to configure these.
Also note that within a category you can then set the following per category “Tags that can only be used in this category”, “Tag groups that can only be used in this category”.