Shortly, groov can't figure out what character encoding your string is in, and renders the wrong glyphs. groov always uses UTF-8: if you can write your strings in that format, they'll display correctly in groov.
The Opto 22 controllers don't have any concept of character encodings: they simply store and return the raw bytes that are given them. PAC Project and PAC Display will write strings using the same encoding that your computer is already set to use, and since the controller returns the raw bytes given to it, strings display appropriately.
groov, unfortunately, has no way to determine what character encoding strings were written to the controller using. As a result, groov treats all strings as if they were written using UTF-8 encoding.