Note
The construct (a, b) is normally recognized in expressions as a row constructor. Within the GROUP BY clause, this does not apply at the top levels of expressions, and (a, b) is parsed as a list of expressions as described above. If for some reason you need a row constructor in a grouping expression, use ROW(a, b).
Supported composite values of the form:
as an expression, and resolved the syntax conflicts.
The conflict is explained at https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-GROUPING-SETS as following
Ref:
https://www.postgresql.org/docs/9.4/rowtypes.html