Interesting observation: we get the SAME equivalence relation if we define:
$x \sim y$ if and only if $|x| = |y|$.
Why should this be so?
Note we can actually "multiply" these equivalence classes (from our original equivalence relation), by defining:
$[a] \ast = [ab]$.
This works because if:
$a^2 = a'^2$ and $b^2 = b'^2$ (even if $a,a'$ are unequal, and similarly with the $b$'s), then:
$(ab)^2 = a^2b^2 = a'^2b'^2 = (a'b')^2$.
(To see why this is important, consider what goes horribly wrong with addition).
It is hopefully clear that our equivalence classes behave a lot like the non-negative reals with the single operation of multiplication. On this set, the correspondence:
$a \leftrightarrow a^2$
is a one-to-one correspondence, and furthermore, this correspondence preserves multiplication:
$(ab) \leftrightarrow (ab)^2 = a^2b^2$ (we get the same result if we multiply first, and take the equivalence class second, or if we take the equivalence classes first, and then "multiply" them as above).
********
In problems like this you may encounter in the future, there are 2 main strategies to employ in "describing the equivalence classes"
a) Attempt to enumerate EVERY element of a given equivalence class...this works best when each equivalence class is finite.
b) Search for common properties each member of an equivalence class possesses...this works best when the equivalence classes themselves are infinite sets.
********
Finally, it is often good to ask yourself: what information does an equivalence class forget? In this case, the information "lost" is the SIGN of $a$.