O tipo de uma VARIÁVEL não é a mesma coisa que o tipo de um OBJETO.
O objeto é do tipo “Grupo” porque você o criou com “new Grupo”. Portanto, “instanceof” vai lhe dizer que o objeto é do tipo Grupo.
O tipo da VARIÁVEL só pode ser obtido via reflection, isso se for um membro de uma classe. Se for um parâmetro ou uma variável local, não se pode obter o tipo da variável nem via reflection.
Você não entendeu o que é polimorfismo ou herança.
O que importa em Java é o tipo do objeto, não da variável.
Se você recebe um objeto como parâmetro, o tipo desse objeto foi determinado na sua criação; ele não pode ser mudado só porque você fez um cast ou copiou sua referência para um parâmetro.
Portanto, no seu caso, o objeto que foi criado como "new Grupo" dará o seguinte resultado para instanceof:
instanceof Grupo --> true
instanceof GrupoSimples --> true também, já que Grupo extends GrupoSimples.