The list of special-case aggregates in the docs is pre-defined. Other than those, in order to push down the aggregate execution to the worker nodes, the aggregate should be grouped by the table's distribution column.