Du sa att budgetposten är alfanumerisk. Det betyder att den letar efter jämförelser med strängar. Du bör prova att omge dina parametrar i enkla citattecken (och du saknar den sista THEN i Case-uttrycket).
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