An alternate proof uses how multiplying a list of the elements of a group by an element creates a permutation of that list. The permutation either has all elements fixed, for e, or no elements fixed, for all the group's other element.
Let's consider G = {e,a,b,c}, where all the non-identity elements have order 2. If any of them have order 4, then the group is isomorphic to Z4.
For multiplying by a, e and a form one permutation cycle, and b and c a second permutation cycle. This is true for both left multiplication and right multiplication, something that means that the group is abelian. The group's overall multiplication table is thus
{{e,a,b,c}, {a,e,c,b}, {b,c,e,a}, {c,b,a,e}}
and it is equivalent to (ai1*bj1) * (ai2*bj2) = (ai1+i2*bj1+j2). Thus, the group is isomorphic to Z2 * Z2.