The BRX instruction capabilities and encoding?

Does anyone know what limitations there are on the BRX SASS instruction and how is it encoded?

BRX R0 -0x3c38;
BRX R0 -0x5b60;
BRX R0 -0x6120;

A BRX instruction is always prefixed by an load from constant space.

The single 16-bit argument seems rather dense. What is it encoding? Are jumps relative? Are there a max number of jumps? Is there a max distance?

I ask because a switch statement with a dozen cases is broken down into a combination of initial case range splitting comparisons followed by a BRX dispatch on a smaller range of elements. I would’ve expected just one BRX.