This seems to suggest the status
field is variant {running; stopped; stopping;}
(lowercase) while the definition in your code has upper case variants, and I’m pretty sure candid variants are case sensitive.
I think one way to make sure your rust code has the right types for calling a canister is to use didc bind --target rs <TARGET_CANISTER_DID_FILE>