According to https://docs.puppetlabs.com/puppet/4.1/reference/lang_reserved.html#parameters
uppercase letters are not allowed in parameter names. Reference documentation as far back as at least 2.7 also forbids them.
Following discussion on IRC,
Puppet 4 is a lot stricter than puppet 3, and does check variables names, but not if they appear as names of parameters. Apparently, it should, and that it doesn't is a bug.
The only validation taking place on parameters is a check that they are are numeric. When improving the checking, it should also be validated that the name does not include '::'.