I wrote:
> Hmm. IIRC the text to enum cast is considered stable not immutable, which
> is why that doesn't get folded to a Const on sight. However, it seems
> like it'd be okay for scalararraysel() to reduce stable expressions for
> estimation purposes, ie it should be using estimate_expression_value.
I've committed a patch for this; it will be in 9.3.4.
regards, tom lane