Cláusula WHERE condicional com a instrução CASE no Oracle

Eu sou novinho em folha para o mundo da Oracle, então isso pode ser um softball. Ao trabalhar com um relatório do SSRS, estou passando uma cadeia de estados para uma exibição. A diferença é que os usuários também podem escolher uma seleção da lista de estados chamada "[No Selection]" ... (essa parte não estava sendo feita e estou preso a implementar as coisas dessa maneira)

Se eles escolherem a opção Sem Seleção, quero apenas retornar todos os estados por padrão, caso contrário, retornarei apenas a lista de estados que estão na minha lista separada por vírgulas.

Isso realmente parece que deve ser fácil, mas estou preso. Aqui está o código que eu tenho até agora (apenas tentando fazer com que uma amostra funcione), mas meus olhos finalmente se foram, tentando fazê-lo funcionar.

Alguém poderia me dar alguma direção sobre este, por favor?

begin
  :stateCode:='MO,FL,TX';
  --:stateCode:='[ No Selection ]';
end;
/

select count(*) as StateCount, :stateCode as SelectedVal
from hcp_state vw
where 
  (case 
      when (:stateCode = '') then (1)
      when (:stateCode != '') then (vw.state_cd in (:stateCode))
      (else 0)
  end)
;

questionAnswers(1)

yourAnswerToTheQuestion