I organised my tags by using parent-tags (normal tags can be nested within other tags by simply dragging and dropping). I don't actually use those parent tags for tagging notes, they are just there to help me group other tags, so that I can find them easily. When on a computer I often tag notes by dragging them onto the tags, so being able to locate each tag quickly helps.
For example, I have a parent-tag "Activities" within which I have (not surprisingly) all my activities, such as writing, climbing or programming.
The only exception to the rule is my "tools" tag - it's nested within a parent tag and there are tags nested within it, but I do use it to tag notes that talk about a whole bunch of programs I might want to check out (but don't want to have a tag for each of them).
You can see that each of my parent-tags has ... in front of it. This is so that I know which tags are the parent-tags and don't tag any notes with them when tagging by starting to type the tag name (which I do when I'm away from my computer, tagging on a mobile devices).
I decided to create a whole bunch of tags at the beginning and then try and stick to them, i.e. avoid creating new tags on a whim, so that I don't end up with each tag only being used once (which would render tags useless).
I also keep my naming consistent. Anything that is an activity, that can be written with an ing ending gets written like that, i.e. travelling instead of travel, meal planning instead of meal plan. Similarly, I keep the names in plural, for example definitions, books, conferences. Those rules arbitrary, but easy to remember, and they help to ensure that I don't accidentally create multiple tags for the same thing (i.e. so I don't have "book" and "books", which again, would make searching via tags less useful).
Sometimes I wonder how necessary the tags actually are - the search function in Evernote is excellent and most of my notes can be probably found relatively easily without tags. For instance, most of my Scrivener notes have the word Scrivener in them, so using the tag "Scrivener" doesn't really add much. However, there are also instances where tags add some extra information, for example if the note is based on something I found on Twitter it gets tagged with "Twitter" (and it happens automatically when done through IFTTT). The note doesn't actually have anything to do with the Twitter as a platform, so won't have the word "Twitter" in it and couldn't be found this way - but thanks to the tag I only need to remember that this thing I'm trying to find was initially spotted on Twitter. So I will use tags for now, even if only to figure out in what scenarios they are actually helpful!
Side Note: I do wish there was a way to automatically tag notes with a parent tag, e.g. if I tag something with "Twitter" it should also get tagged with "tools" automatically. As far as I know there is no way to achieve that easily though.