Delphi RTTI SetValue para enumerações

Como uso o RTTI para definir o valor de um campo enumerad

I.e.

type
  TCPIFileStatus= (fsUnknown, fsProcessed);
  TTest = class
    FStatus: TCPIFileStatus; 
  end;
      ...
  var
    Data: TTest;
    Ctx: TRttiContext;
    Status : TCPIFileStatus;
  begin
    Data := TTest.Create;
    Status := fsProcessed;
    Ctx.GetType(Data.ClassType).GetField('FStatus').SetValue(Data, Status);
  end;

Eu recebo "Typecast de classe inválido."
NB: Eu preciso usar o RTTI porque nem sempre vou saber o tipo de objeto ou o nome do campo em tempo de desig

questionAnswers(3)

yourAnswerToTheQuestion