I'm missing a step to understand the factorization of the FIR filter transfer function: $$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{-k} \tag{1}$$
From DSP First:
The $z$-transform of a finite-length signal, such as $H(z)$ for an FIR filter, is a function of the complex variable $z$, and it is also an $M^{th}$-degree polynomial in the variable $z^{−1}$. Therefore, $H(z)$ has exactly $M$ roots according to the fundamental theorem of algebra. When $H(z)$ is expressed in terms of its roots, it can be written as the product of first-order factors that completely define the polynomial to within a multiplicative constant, that is, $$H(z)=G\prod_{k=1}^{M}(1-z_{k}z^{-1})=G\prod_{k=1}^{M}\frac {(z-z_{k})}{z}\tag{2}$$
The point I don't understand is the $z^{-1}$ factor. I expected to see only factors corresponding to roots:
$$H(z)=G\prod_{k=1}^{M}(z-z_{k}) \tag{3}$$
I know the book is correct (perhaps a function with negative exponents is not exactly a regular polynomial though), but I need a little help to make sense of how the sentence "When $H(z)$ is expressed in terms of its roots, it can be written..." can lead to equation (2) instead of (3).
Update with a partial understanding:
1/ I found intriguing the author used the word polynomial to describe the sum, and mentioned the use of the roots to factorize it. I think I got a clue... The author actually transforms the Laurent's series (negative exponents) into a polynomial (positive exponents) without explicitly saying it. My guess:
$$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{-k}=\sum\limits _{k=0}^{M}b_{k}z^{M-k}z^{-M} \tag{4}$$
2/ This polynomial has roots, and they can be used for factorization:
$$H(z)=\sum\limits _{k=0}^{M}b_{k}z^{M-k}z^{-M}=G\prod_{k=1}^{M}(z-z_{k})z^{-M} \tag{5}$$
However at this stage I'm lost since the additional factor is not the one in the book: $z^{-M} \ne z^{-1}$