Are there interesting combinatorial proofs which use more sophisticated grouping than sign-reversing involutions? There are many combinatorial proofs which establish interesting identities by designing suitable "sign-reversing involutions" on a set of relevant signed objects.
For example, Benjamin and Quinn showcased many such arguments for simplifying alternating sums with their Description-Involution-Exception (DIE) method and Zeilberger highlighted many such arguments for proving identities involving the determinant.
Are there examples of interesting combinatorial identities which involve more sophisticated grouping? In particular, are there identities which simplify sums of the form
$$\sum_{s\in S}\omega^{f(s)}g(s),$$
where $S$ is some group of interesting combinatorial objects, $g$ is some weight function, $f$ is some sort of sign function, and $\omega$ is a primitive $p^{\text{th}}$ root of unity?
This is a bit of a vague, ill-posed question since the space of combinatorial proofs is vast, and what counts as "interesting" is unclear in this context is unclear. But I'm curious to see if there are examples of identities people know of which are proved combinatorially by designing some sort of order $p$ map which shifts weights by $\omega$ (similar to how the linked papers have proofs which work by designing an order $2$ map which shifts weights by $-1$).
 A: The Goulden-Jackson Cluster Method counts words built from a finite alphabet which are not allowed to contain so-called bad words.

The generating function $f(s)$ is the weight enumerator of the set of valid words $\mathcal{L}(B)$ generated from an alphabet $V$ that avoids the members of $B$ as factors (i.e. substrings). We set $weight(w):= s^{\text{length}(w)}$ and start with
\begin{align*}
f(s)=\sum_{w\in\mathcal{L}(B)}weight(w)
\end{align*}

It turns out that counting these words is a cumbersome job. In fact we can do it much better and the trick is to add $0$ to both sides and rewrite this expression as

\begin{align*}
\color{blue}{f(s)}&=\sum_{w\in V^*}weight(w)0^{[\text{number of factors of }w\text{ that belong to }B]}\\
&=\sum_{w\in V^*}weight(w)(1+(-1))^{[\text{number of factors of }w\text{ that belong to }B]}\\
&\;\;\color{blue}{=\sum_{w\in V^*}\sum_{S\subset\text{Bad}(w)}(-1)^{|S|}s^{\text{length}(w)}}
\end{align*}

Here we use
\begin{align*}
0&=1+(-1)\\
0^r&=
\begin{cases}
1,&\text{if }r=0\\
0,&\text{if }r>0
\end{cases}
\end{align*}
and for any finite set $A$,
\begin{align*}
\prod_{a\in A}0=\prod_{a\in A}(1+(-1))=\sum_{S\subset A}(-1)^{|S|}
\end{align*}
where $|S|$ denotes the cardinality of $S$.
Note: An application of this technique can be found e.g. here.
