Hai detto che budgetpost è alfanumerico. Ciò significa che sta cercando confronti con le stringhe. Dovresti provare a racchiudere i tuoi parametri tra virgolette singole (e ti manca il THEN finale nell'espressione Case).
UPDATE tab1
SET budgpost_gr1= CASE
WHEN (budgpost in ('1001','1012','50055')) THEN 'BP_GR_A'
WHEN (budgpost in ('5','10','98','0')) THEN 'BP_GR_B'
WHEN (budgpost in ('11','876','7976','67465')) THEN 'What?'
ELSE 'Missing'
END