refactor(canopy-tanf): typed expense_type enum replacing stringly-typed ExpenseItem.expense_type
ExpenseItem.expense_type: String is stringly-typed. A proper enum with variants for the recognized values (self_employment_business_expense, medical, dependent_care, shelter, etc.) would let clippy's missing_variant lint catch typos at the intake boundary and let callers pattern-match without string comparison.
Wait for crate-quality-parity pass — this pattern appears across multiple services (IncomeItem.income_type, AssetItem.asset_type) and should be swept together.
Extracted from tanf-self-employment-net-disregard.adoc § Potential Improvements.