PE Customers, esp new users, need to understand this section really well:
The policy around node groups that any node can belong to is the following:
"A node can be part of many node groups, a mix of environment and classification node groups.
However, among those node groups, there can be only one (puppet-)environment group, which declares the (puppet-)environment a node checks into.
A "Puppet-Environment Group" is mapped directly to a git branch of the Control repo (i.e: a preprod environment group matches the preprod branch of the control repo). In the case of a node being assigned to more than 1 environment group, would result in a "Classfication Conflict" Error message during the Puppet agent run.
You can find KB articles that discuss this issue here: "https://support.puppet.com/hc/en-us/search?utf8=%E2%9C%93&query=classification+conflict"