Both the RX5700 (XT) and the RX5500 have 2 Shader Arrays per Shader Engine. 5700 XT has 5 WGPs per Shader Array, 5500 has 6 WGPs per Shader Array. 5700 (XT) of course, has 2 Shader Engines, 5500 has only one. My thinking here is that there's likely a limit to how many WGPs you can have under a Shader Array before you start running into perf issues (and it wouldn't surprise me if 6 is the upper limit) and, since the memory access pattern was shifted from being L2- to L1-focused, it makes sense that, if you want to go up in size, you add another of these groups (a bunch of WGPs, L1 cache, RBs, etc). Why do that instead of adding an entire Shader Engine? Less area overhead. Additional Shader Engines would add more WGPs, more L1 cache, RBs, etc too, but, beyond that, more Geometry Processors, Graphics Command Processors, etc. A lot more stuff.
RX5700 has shown that you can have Shader Arrays with different number of active WGPs under the same Shader Engine, the only thing is that you seemingly need to have the same number of active WGPs per Shader Engine.