Olá a todos!
Juntei alguns conceitos aprendidos em outras aulas na Alura e fiz as minhas classes da seguinte forma:
public enum TipoImpostoEnum {
    ICMS(new BigDecimal("0.1")),
    ISS(new BigDecimal("0.06")),
    IPQP(new BigDecimal("0.4"));
    private final BigDecimal aliquota;
    TipoImpostoEnum(BigDecimal aliquota) {
        this.aliquota = aliquota;
    }
    public BigDecimal getAliquota() {
        return aliquota;
    }
}public class CalculadoraDeImpostosEnum {
    public BigDecimal calcularImposto(Orcamento orcamento, TipoImpostoEnum tipoImposto) {
        return orcamento.getValor().multiply(tipoImposto.getAliquota());
    }
}public class TesteCalculoImposto {
    public static void main(String[] args) {
        BigDecimal valor = new BigDecimal("1000");
        Orcamento orcamento = new Orcamento(valor);
        CalculadoraDeImpostosEnum calculadora = new CalculadoraDeImpostosEnum();
        BigDecimal impostoCalculado = calculadora.calcularImposto(orcamento, TipoImpostoEnum.ICMS);
        System.out.println(impostoCalculado);Fiz o teste, compilou e rodou certinho.
Ainda assim, tá seguindo o padrão de projeto e respeitando as boas práticas?
 
             
            