If I'm not mistaken the change to the logic means that now, if someone passes junk that previously was not true, false or undef it gets passed through to the underlying class. Before - it would have thrown an error as it was not matched by the selector. Are you sure the class puppetdb::database::postgresql is ready to return a meaningful error when passed say 'false' (a string not a boolean)? My point is, while it wasn't nice the selector before provided at least a modicum of validation against $manage_redhat_firewall.