How about just use conditionals:
if ( in_category( '9' )) {
// different size for one category
set_post_thumbnail_size( 100, 150, true );
} elseif ( in_category( array( '5', '7' ) )) {
// different size for multiple categories
set_post_thumbnail_size( 150, 200, true );
} else {
// default size
set_post_thumbnail_size( 328, 228, true );
}
Reference: