Você disse que o budgetpost é alfanumérico. Isso significa que ele está procurando comparações com strings. Você deve tentar colocar seus parâmetros entre aspas simples (e está faltando o THEN final na expressão 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