Cláusula WHERE condicional con sentencia CASE en Oracle

Soy nuevo en el mundo de Oracle, así que esto podría ser un softbol. Al trabajar con un informe de SSRS, estoy pasando una serie de estados a una vista. El problema es que los usuarios también pueden elegir una selección de la lista de estados llamada "[Sin selección]" ... (esa parte no fue por hacer y estoy atascado con la implementación de las cosas de esta manera)

Si eligen la opción Sin selección, solo quiero devolver todos los estados de forma predeterminada, de lo contrario, devolveré solo la lista de estados que se encuentran en mi lista separada por comas.

Esto realmente parece que debería ser fácil pero estoy atascado. Aquí está el código que tengo hasta ahora (solo tratando de hacer que una muestra funcione) pero mis ojos finalmente se han cruzado tratando de hacerlo funcionar.

¿Alguien podría darme alguna dirección en este caso 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)
;

Respuestas a la pregunta(1)

Su respuesta a la pregunta