This describes everything as good as I can. I'd write it up myself but I'm currently pulling "generalized terms" from specific terms from a database - rather excited to find a potentially simply solution to part of a difficult categorization problem I've been having.